package org.example.pcbcircuitboard.entity;

import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * SSE连接实体类集合
 */
public class SSEConnectEntity {
    // 保存已经存在的SSE连接
    public static final Map<String, SseEmitter> emitters = Collections.synchronizedMap(new HashMap<>());
    // 左上 SSE连接 userId
    public static final String leftTopUserId = "leftTop";
    /**
     * 根据某一个用户ID获取SSE连接
     * @param userId 用户ID
     */
    public static SseEmitter getEmitterConnection(String userId) {
        return emitters.get(userId);
    }
    /**
     * 添加新的SSE连接
     * @param userId 用户ID
     * @param emitter SSE连接
     */
    public static void addEmitterConnection(String userId, SseEmitter emitter) {
        emitters.put(userId, emitter);
    }
    /**
     * 移除某个SSE连接
     * @param userId 用户ID
     */
    public static void removeEmitterConnection(String userId) {
        emitters.remove(userId);
    }

}
